package com.example.automanagement.util;

public class RegexPatterns {
    /**
     * 手机号正则
     * 这正则表达式用于匹配中国大陆地区的手机号码。让我们逐步解释这个正则表达式：
     * ^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\\d{8}$
     * ^: 表示匹配字符串的开始。
     * 1: 匹配手机号码的开头为数字1。
     * ([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89]): 这是一个分组，用于匹配手机号码的第二位数字。该分组包括以下几种情况：
     * [38][0-9]: 匹配以3或8开头的数字后跟任意一位数字。
     * 4[579]: 匹配以4开头后跟5、7或9中的任意一个数字。
     * 5[0-3,5-9]: 匹配以5开头后跟0到3或5到9中的任意一个数字。
     * 6[6]: 匹配以6开头后跟6。
     * 7[0135678]: 匹配以7开头后跟0、1、3、5、6、7或8中的任意一个数字。
     * 9[89]: 匹配以9开头后跟8或9。
     * \\d{8}: 匹配接下来的8位数字。
     * $: 表示匹配字符串的结束。
     */
    public static final String PHONE_REGEX = "^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\\d{8}$";


    //密码正则。4~32位的字母、数字、下划线

    public static final String PASSWORD_REGEX = "^\\w{4,32}$";

    //验证码正则, 6位数字或字母

    public static final String VERIFY_CODE_REGEX = "^[a-zA-Z\\d]{6}$";

    public static final String ID_CARD_REGEX = "/^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9xX]$/;\n";
}
